Задание: Задание 3. Симуляция и рендеринг растительности. Сборка: 1) Install appropriate libraries: sudo apt install freeglut3-dev libglew-dev libglu1-mesa-dev sudo apt <> Установить Assimp. Например, так (предупреждаю, пока он собирается (make), Вы успеете сварить кофе): git clone https://github.com/assimp/assimp.git cd <> mkdir build && cd build && cmake .. make sudo make install 2) Compile (Я бы не стал :) ) cd ./ make 3) Run export MESA_GL_VERSION_OVERRIDE="3.3COMPAT" cd ./bin && ./cmake_project Комментарий: ***По сути*** Реализована система из земли, колышущихся на ветру травинок и различных статичных объектов. Травинки отличаются: - размером, - углом поворота, - оттенком цвета, - (позицией). Так же реализовано выцветание (желтение) травинки, зависящее от близости точки к "солнцу". Сила ветра регулируется пользователем: единичное нажатие на клавишу `+` сообщает травинкам некоторое ускорение, в результате чего колебания усиливаются (или замедляются -- в зависимости от фазы колебания в момент создания порыва ветра). При запуске программы происходит умеренный порыв ветра. ***По баллам*** База: +10 Допы: ● Базовое освещение ○ Текстура на травинках (+1) Реализовано ○ Имитация пожелтения (+1) Реализовано (подробности см. выше) ИТОГО: 2 ● Более реалистичная симуляция на CPU ○ Отдельная симуляция нескольких (10-100) травинок и цветов по разному Все травинки различны (см. начало комментария) ○ Более сложные модели симуляции Физика реализована в функции Funcs.cpp -> void UpdateGrassVariance(). Трава колышется и гнется под действием переменных сил ветра и сил упругости. В бесконечность не улетает. Сила ветра меняется в runtime по нажатию на `+`. Трава не вылазит поверх объектов :) ИТОГО: "в зависимости от реалистичности" ● Более реалистичная симуляция на GPU ИТОГО: "в зависимости от реалистичности" ● Добавление дополнительных объектов ○ 2-3 различных типа растительности Все травинки различные ○ Добавление деревьев (+2) Реализовано статичное дерево. ○ Добавление животных или птиц (+2) Реализованы волк (искать на ящеке в левом дальнем углу) и орел (искать над центром карты) ○ Добавление камней (+1) Реализовано. 2 камня искать в правом дальнем углу. Маленький слева сзади от большого. ○ Добавление любых других дополнительных объектов (+1) Nanosuit (из игры Crysis2) стоит на большом камне. ИТОГО: не менее 6 баллов ● Окружение ○ Добавление воды (+1 просто плоского участка воды) Ищите по центру. ИТОГО: 1 СУММА: 10 за базу + не менее 9 + надбавки за реалистичность